/**
 * \file
 * \brief Python/SWIG wrap for MaCI - TaskCtrl Interface Client header
 * \author Antti Maula <antti.maula@tkk.fi>, Tapio Taipalus
 *
 * $Id: TaskCtrlClient.hpp,v 1.10 2010-01-05 07:04:12 mmatusia Exp $
 *
 */
%module TaskCtrlClient
%include "std_vector.i"
%include "std_map.i"
%include "typemaps.i"
%include std_string.i
%{
#include "MaCI.hpp"
#include "thread.hpp"
#include "sync.hpp"
#include "TaskCtrlClient.hpp"
// These are not necessarily required here, but defined to make the
// interface easier to include.
#include "TaskCtrlData.hpp"
%}

%include "TaskCtrlTypes.i"
%include "TaskCtrlData.i"
%include "../MaCIError.i"
%include "../MaCI.i"
%include "../MaCICtrl/MaCICtrlClient.i"
%include "../common/timestamp.i"
%include "../MaCIData.i"
%include "TaskCtrlClient.hpp"

namespace MaCI{
  namespace TaskCtrl{

    class CTaskCtrlClient{
    public:
    /**
       * Function for using in Python
       */
      bool GetTaskLibrary(MaCI::TaskCtrl::TTaskCtrlTaskStateContainer &INOUT,
                          MaCI::TaskCtrl::TStringContainer &INOUT,
                          unsigned int aTimeout_ms);
      bool GetTaskPool(MaCI::TaskCtrl::TTaskCtrlTaskStateContainer &INOUT,
                       MaCI::TaskCtrl::TStringContainer &INOUT,
                       unsigned int aTimeout_ms);
    private:
      
    
    };
  }
 }
